/**
 * @file yadl_common.h
 * Common definition file for generic data structures
 * @author Denis Ollier, Simon Vernhes
 */

#ifndef YADL_COMMON_H
#define YADL_COMMON_H

/** A Linked data structure is a linked list of cells.  */
struct cell {
	/** The element of the cell. */
	void* element;
	/** The next cell into the list. */
	struct cell* next;
};

/** A comparator between two elements of the data structure */
typedef int (*comparator_t)(const void*, const void*);
/** A destructor for an element of the data structure */
typedef void (*destructor_t)(void*);

#endif /* YADL_COMMON_H */
